package gsw.tool.eventbus.eventbus;

import gsw.tool.eventbus.annotion.ClassId;

/**
 * 事件总线框架-接口,用于Hermes代理EventBus
 */
@ClassId("gsw.tool.eventbus.eventbus.EventBus")
public interface IEventBus {

    /**
     * 注册类型与方法
     *
     * @param activity 注册的类，一般是Activity、Fragment等对象
     */
    public void register(Object activity);

    /**
     * 发消息，并且自动处理
     *
     * @param msg 发送的消息。只支持一个参数
     */
    public void post(final Object msg);

    /**
     * 反注册类型与方法
     *
     * @param activity 注册的类，一般是Activity、Fragment等对象
     */
    public void unRegister(Object activity);
}
